import request from './request'

/**
 * 获取活动列表
 * @param {Object} params 查询参数
 * @param {number} params.page 页码
 * @param {number} params.pageSize 每页数量
 * @param {number} params.channel 渠道ID
 * @param {number} params.type 活动类型
 * @param {number} params.status 活动状态
 * @returns {Promise} 返回活动列表数据
 */
export const getActivityList = (params = {}) => {
  return request({
    url: '/activities',
    method: 'GET',
    params
  })
}

/**
 * 根据ID获取活动详情
 * @param {number} id 活动ID
 * @returns {Promise} 返回活动详情
 */
export const getActivityById = (id) => {
  return request({
    url: `/activities/${id}`,
    method: 'GET'
  })
}

/**
 * 获取所有活动（不分页，用于全局缓存）
 * @returns {Promise} 返回所有活动列表
 */
export const getAllActivities = () => {
  return request({
    url: '/activities',
    method: 'GET',
    params: {
      page: 1,
      pageSize: 1000 // 假设最多1000个活动，实际可根据需求调整
    }
  })
}

/**
 * 创建活动
 * @param {Object} data 活动数据
 * @returns {Promise} 返回创建结果
 */
export const createActivity = (data) => {
  return request({
    url: '/activities',
    method: 'POST',
    data
  })
}

/**
 * 修改活动
 * @param {Object} data 活动数据
 * @returns {Promise} 返回修改结果
 */
export const updateActivity = (data) => {
  return request({
    url: '/activities',
    method: 'PUT',
    data
  })
}

/**
 * 删除活动
 * @param {number} id 活动ID
 * @returns {Promise} 返回删除结果
 */
export const deleteActivity = (id) => {
  return request({
    url: `/activities/${id}`,
    method: 'DELETE'
  })
}

/**
 * 获取指定类型的活动
 * @param {number} type 活动类型
 * @returns {Promise} 返回活动列表
 */
export const getActivitiesByType = (type) => {
  return request({
    url: `/activities/type/${type}`,
    method: 'GET'
  })
}